package com.jinzhi.jieyan;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class JieYanMain {
    public static void main(String[] args) {
        JieYanMain jieYanMain=new JieYanMain();
        while (1==1){
            jieYanMain.smk("2023-03-02 08:00:00 0","戒烟");
            jieYanMain.smk("2024-01-05 16:34:00 0","戒槟榔");
//            //设置时间格式，为了 能转换成 字符串
//            DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//            //当前时间
//            //利用时间格式，把当前时间转为字符串
//            Date start = null;
//            try {
//                start = df.parse("2023-03-02 08:00:00 0");
//            } catch (ParseException e) {
//                e.printStackTrace();
//            }
//            //当前时间 转为 长整型 Long
//            Long begin = start.getTime();
//            System.out.println("开始戒烟时间为："+ df.format(start));
//            //获取结束时间
//            Date finishTime = new Date();
//            //结束时间 转为 Long 类型
//            Long end = finishTime.getTime();
//            Long end1 = finishTime.getTime();
//            // 时间差 = 结束时间 - 开始时间，这样得到的差值是毫秒级别
//            long timeLag1 = end1 - begin;
//            long timeLag = end - begin;
//            //天
//            long day=timeLag/(24*60*60*1000);
//            //小时
//            long hour=(timeLag/(60*60*1000)-day*24);
//            //分钟
//            long minute=((timeLag/(60*1000))-day*24*60-hour*60);
//            //秒，顺便说一下，1秒 = 1000毫秒
//            long s=(timeLag/1000-day*24*60*60-hour*60*60-minute*60);
//            System.out.println("戒烟已经坚持了 "+day+"天 "+hour+"时 "+minute+"分 "+s+"秒");
//            try {
//                Thread.sleep(5000);
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }
        }

    }
    public void smk(String time,String msg){
        //
        //设置时间格式，为了 能转换成 字符串
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //当前时间
        //利用时间格式，把当前时间转为字符串
        Date start = null;
        try {
            start = df.parse(time);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        //当前时间 转为 长整型 Long
        Long begin = start.getTime();
        System.out.println("开始"+msg+"时间为："+ df.format(start));
        //获取结束时间
        Date finishTime = new Date();
        //结束时间 转为 Long 类型
        Long end = finishTime.getTime();
        Long end1 = finishTime.getTime();
        // 时间差 = 结束时间 - 开始时间，这样得到的差值是毫秒级别
        long timeLag1 = end1 - begin;
        long timeLag = end - begin;
        //天
        long day=timeLag/(24*60*60*1000);
        //小时
        long hour=(timeLag/(60*60*1000)-day*24);
        //分钟
        long minute=((timeLag/(60*1000))-day*24*60-hour*60);
        //秒，顺便说一下，1秒 = 1000毫秒
        long s=(timeLag/1000-day*24*60*60-hour*60*60-minute*60);
        System.out.println(msg+"已经坚持了 "+day+"天 "+hour+"时 "+minute+"分 "+s+"秒");
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }


    }
}
